import Entity from "../math/entity";
import { Room } from '../math/Room';
import { windowToCanvas } from "../utils";

export default function drawRoom() {
  return new Entity({
    entity: new Room(),
    mousedown: function (e) {
      console.log(this.entity);
      let loc = windowToCanvas(e.clientX, e.clientY);
      console.log('loc: ', loc);
      this.entity.setStartPt(loc);
      // e.preventDefault(); // prevent cursor change  // common
      // saveDrawingSurface(ctx);  // common
      // dragging = true;    // common
      // console.log('drawLine mouseDown');
    },
    mousemove: function (e) {
      // console.log('drawLine mouseMove');
      // if (dragging) {
      //   e.preventDefault(); // prevent selections
      //   let loc = windowToCanvas(ctx, e.clientX, e.clientY);
      //   restoreDrawingSurface(ctx);
      //   line.setEndPt(loc);
      //   line.render(true);
      //   //  drawGuidewires(ctx, loc);
      //   //  if(guidewires) {
      //   //     drawGuidewires(loc.x, loc.y);
      //   //  }
      // }
    },
    mouseup: function () {
      // console.log('drawLine mouseUp');
      // let loc = windowToCanvas(ctx, e.clientX, e.clientY);
      // restoreDrawingSurface(ctx);
      // line.setEndPt(loc);
      // line.render(false);
      // dragging = false;
      // // const cloneLine = _.cloneDeep(line);
      // bst.insert(line);
      // axesScene.push(cloneLine);
      // axesScene.forEach(item => console.log(item));
      // message.info(`length: ${scenes.length}`);
    }
  });
}

// export const DrawLine = DrawFactory({
//   entity: new Line3d(),
//   data: {
//     X: -1010,
//     Y: -483,
//     W: 390.62,
//     H: 0,
//     angle: 9.73
//   },
//   mouseDown: function (e) {
//     // line = new Line3d(ctx);
//     // let loc = windowToCanvas(ctx, e.clientX, e.clientY);  // common
//     // line.setStartPt(loc);
//     // e.preventDefault(); // prevent cursor change  // common
//     // saveDrawingSurface(ctx);  // common
//     // dragging = true;    // common
//     console.log('drawLine mouseDown');
//   },
//   mouseMove: function (e) {
//     console.log('drawLine mouseMove');
//     // if (dragging) {
//     //   e.preventDefault(); // prevent selections
//     //   let loc = windowToCanvas(ctx, e.clientX, e.clientY);
//     //   restoreDrawingSurface(ctx);
//     //   line.setEndPt(loc);
//     //   line.render(true);
//     //   //  drawGuidewires(ctx, loc);
//     //   //  if(guidewires) {
//     //   //     drawGuidewires(loc.x, loc.y);
//     //   //  }
//     // }
//   },
//   mouseUp: function () {
//     console.log('drawLine mouseUp');
//     // let loc = windowToCanvas(ctx, e.clientX, e.clientY);
//     // restoreDrawingSurface(ctx);
//     // line.setEndPt(loc);
//     // line.render(false);
//     // dragging = false;
//     // // const cloneLine = _.cloneDeep(line);
//     // bst.insert(line);
//     // axesScene.push(cloneLine);
//     // axesScene.forEach(item => console.log(item));
//     // message.info(`length: ${scenes.length}`);
//   }
// });